From 1835885f4fb1175b4fd8a9a65d704681b37f916d Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 4 Dec 2009 07:06:47 +0000 Subject: [PATCH] libxenlight: disk and nic destroy calls Expose disk and nic device destroy calls Also removes the obsolete device shutdown calls. Signed-off-by: Andres Lagar-Cavilla --- tools/libxl/libxl.c | 36 ++++++++++++++++++++++++------------ tools/libxl/libxl.h | 6 ++---- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 41010ef5df..b101acb48b 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -1123,14 +1123,21 @@ int libxl_device_disk_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_di return 0; } -int libxl_device_disk_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid) +int libxl_device_disk_del(struct libxl_ctx *ctx, + libxl_device_disk *disk, int wait) { - return ERROR_NI; -} + libxl_device device; + int devid; -int libxl_device_disk_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid) -{ - return ERROR_NI; + devid = device_disk_dev_number(disk->virtpath); + device.backend_domid = disk->backend_domid; + device.backend_devid = devid; + device.backend_kind = + (disk->phystype == PHYSTYPE_PHY) ? DEVICE_VBD : DEVICE_TAP; + device.domid = disk->domid; + device.devid = devid; + device.kind = DEVICE_VBD; + return libxl_device_del(ctx, &device, wait); } /******************************************************************************/ @@ -1196,14 +1203,19 @@ int libxl_device_nic_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_nic return 0; } -int libxl_device_nic_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid) +int libxl_device_nic_del(struct libxl_ctx *ctx, + libxl_device_nic *nic, int wait) { - return ERROR_NI; -} + libxl_device device; -int libxl_device_nic_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid) -{ - return ERROR_NI; + device.backend_devid = nic->devid; + device.backend_domid = nic->backend_domid; + device.backend_kind = DEVICE_VIF; + device.devid = nic->devid; + device.domid = nic->domid; + device.kind = DEVICE_VIF; + + return libxl_device_del(ctx, &device, wait); } /******************************************************************************/ diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index dd3d6dbe1e..794d1f3384 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -295,12 +295,10 @@ int libxl_detach_device_model(struct libxl_ctx *ctx, /* DM is detached even if error is returned */ int libxl_device_disk_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_disk *disk); -int libxl_device_disk_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid); -int libxl_device_disk_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid); +int libxl_device_disk_del(struct libxl_ctx *ctx, libxl_device_disk *disk, int wait); int libxl_device_nic_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_nic *nic); -int libxl_device_nic_clean_shutdown(struct libxl_ctx *ctx, uint32_t domid); -int libxl_device_nic_hard_shutdown(struct libxl_ctx *ctx, uint32_t domid); +int libxl_device_nic_del(struct libxl_ctx *ctx, libxl_device_nic *nic, int wait); int libxl_device_console_add(struct libxl_ctx *ctx, uint32_t domid, libxl_device_console *console); -- 2.30.2